#include<stdio.h>

char *mystrcpy(char *dest,const char *src){
    int i=0;
    while(*(src+i)!='\0'){
        dest[i]=*(src+i);
        i++;
    }
    dest[i]='\0';
}


int mystrcmp(const char *dest,const char *src){
    int i=0;
    while(*(dest+i)!='\0' || *(src+i)!='\0'){
        if(*(dest+i)==*(src+i)){
            i++;
            continue;
        }
        else if(*(dest+i)>*(src+i)){
            return 1;
        }
        else if(*(dest+i)<*(src+i)){
            return -1;
        }
    }
    if(*(dest+i)=='\0' && *(src+i)=='\0'){            //简化代码：到这一步必定有一个结束了，所以可以直接比较，'\0'为0
        return 0;
    }
     else if(*(dest+i)!='\0' && *(src+i)=='\0'){
        return 1;
    }
    else if(*(dest+i)=='\0' && *(src+i)!='\0'){
        return -1;
    }
}

char *mystrcat(char *dest,const char *src){
    int n=0;
    while(*(dest+n)!='\0'){
        n++;
    }
    int i=0;
    while(*(src+i)!='\0'){
        *(dest+n)=*(src+i);
        n++;
        i++; 
    }
    *(dest+n)='\0';
}

int mystrlen(const char *s){
    int i=0;
    while(*(s+i)!='\0'){
        i++;
    }
    return i;
}

char *mystrstr(const char *dest,const char *src){
    int len=0;
    while(*(src+len)!='\0'){
        len++;
    }
    if(len==0){
        return (char*)dest;
    }
    int i=0;
    while(*(dest+i)!='\0'){
        if(*(dest+i)==*src){
            for(int j=1;j<len;j++){
                if(*(dest+i+j)!=*(src+j) || *(dest+i+j)=='\0'){
                    break;
                }
                if(j==len-1){
                    return (char*)dest+i;
                }
            }
        }
        i++;
    }
    return NULL;
}

int main(){
    // char dest[100]="asd";
    //char *dest="Linging";
    char *dest="Linging";
    char *src="erf";
    //mystrcpy(dest,src);
    // printf("%d",mystrcmp(dest,src));
    //mystrcat(dest,src);
    //int len=mystrlen(dest);
    char *p=mystrstr(dest,src);
    if(p==NULL){
        printf("没找到\n");
    }
    else{
    printf("%s\n",p);
    printf("%d\n",p-dest);
    }
    return 0;
}